home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Linux Cubed Series 7: Sunsite
/
Linux Cubed Series 7 - Sunsite Vol 1.iso
/
system
/
linux-bo
/
etherboo.000
/
etherboo
/
etherboot-2.0
/
netboot-freebsd
/
size86.c
< prev
next >
Wrap
C/C++ Source or Header
|
1996-02-14
|
867b
|
53 lines
#include <stdio.h>
#include "a.out.h"
int didheading = 0;
void size(filename)
char *filename;
{
FILE *f;
struct exec ex;
long total;
if ((f = fopen(filename, "r")) == NULL)
{
perror(filename);
return;
}
if (fread(&ex, sizeof(ex), 1, f) != 1)
{
fprintf(stderr, "%s: Cannot read header\n", filename);
fclose(f);
return;
}
if (BADMAG(ex))
{
fprintf(stderr, "%s: Not an a.out file\n", filename);
fclose(f);
return;
}
total = ex.a_text + ex.a_data + ex.a_bss;
if (!didheading)
{
printf("text\tdata\tbss\tdec\thex\tfilename\n");
didheading = 1;
}
printf("%-ld\t%-ld\t%-ld\t%-ld\t%-lx\t%s\n",
ex.a_text, ex.a_data, ex.a_bss, total, total,
filename);
fclose(f);
}
int main(argc, argv)
int argc;
char **argv;
{
if (argc < 2)
size("a.out");
else
for (--argc, ++argv; argc > 0; --argc, ++argv)
size(*argv);
exit(0);
}